package com.icongyou.enterprise.talent_analysis.mapper;

import com.icongyou.enterprise.talent_analysis.entity.PortraitUpdateTask;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 画像更新任务队列Mapper
 */
@Mapper
public interface PortraitUpdateTaskMapper {
    
    /**
     * 插入任务
     */
    int insert(PortraitUpdateTask task);
    
    /**
     * 查询待处理任务（限制数量）
     */
    List<PortraitUpdateTask> selectPendingTasks(@Param("limit") int limit);
    
    /**
     * 更新任务状态为处理中
     */
    int updateToProcessing(@Param("id") String id);
    
    /**
     * 更新任务为完成状态
     */
    int updateToCompleted(PortraitUpdateTask task);
    
    /**
     * 更新任务为失败状态
     */
    int updateToFailed(PortraitUpdateTask task);
    
    /**
     * 删除已完成的旧任务（清理）
     */
    int deleteCompletedBefore(@Param("beforeDays") int beforeDays);
}
